//
//  AlbumCell.m
//  Atlantis
//
//  Created by 何恩营 on 14-12-17.
//  Copyright (c) 2014年 lanou3g.com 蓝鸥科技. All rights reserved.
//

#import "AlbumCell.h"
#import "Album.h"
#import "NetHandler.h"
#import "UIImageView+WebCache.h"
#import "UIColor+AddColor.h"

@interface AlbumCell ()

// 小背景
@property(nonatomic, retain)UIImageView *backImageView;
// 图片
@property(nonatomic, retain)UIImageView *albumCoverImageView;
// 标题
@property(nonatomic, retain)UILabel *titleLabel;
// 最后更新时间
@property(nonatomic, retain)UILabel *updatedAtLabel;
// 播放次数
@property(nonatomic, retain)UILabel *playsCountsLabel;

@end


@implementation AlbumCell

// 内存管理
- (void)dealloc
{
    // album对象
    [_alb release];
    // 小背景
    [_backImageView release];
    // 专辑封面
    [_albumCoverImageView release];
    // 专辑标题
    [_titleLabel release];
    // 最后更新时间
    [_updatedAtLabel release];
    // 播放次数
    [_playsCountsLabel release];
    [super dealloc];
}

// 自定义tableView的Cell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    
    if (self) {
        
        // 自定义cell的背景颜色
        self.contentView.backgroundColor = [UIColor colorFromHexCode:@"#e6e6e6"];
        
        // 创建小背景
        self.backImageView = [[UIImageView alloc] init];
        // 小背景的背景颜色
        self.backImageView.backgroundColor= [UIColor whiteColor];
        // 加载视图到自定义cell的视图上
        [self.contentView addSubview:self.backImageView];
        // 内存管理
        [_backImageView release];
        
        
        // 创建专辑封面图片
        self.albumCoverImageView = [[UIImageView alloc] init];
        // 专辑封面图片的背景颜色
        //self.albumCoverImageView.backgroundColor = [UIColor redColor];
        self.albumCoverImageView.image = [UIImage imageNamed:@"cat.jpg"];
        // 加载视图到小背景的视图上
        [self.backImageView addSubview:self.albumCoverImageView];
        // 内存管理
        [_albumCoverImageView release];
        
        
        // 创建专辑标题
        self.titleLabel = [[UILabel alloc] init];
        // 专辑标题的背景颜色
        //self.titleLabel.backgroundColor = [UIColor greenColor];
        // 专辑标题的字体
        self.titleLabel.font = [UIFont fontWithName:nil size:16];
        // 加载视图到小背景的视图上
        [self.backImageView addSubview:self.titleLabel];
        // 内存管理
        [_titleLabel release];
        
        
        // 创建播放次数
        self.playsCountsLabel = [[UILabel alloc] init];
        // 播放次数的背景颜色
        //self.playsCountsLabel.backgroundColor = [UIColor cyanColor];
        // 播放次数的字体设置
        self.playsCountsLabel.font = [UIFont fontWithName:nil size:12];
        // 加载视图到小背景的视图上
        [self.backImageView addSubview:self.playsCountsLabel];
        // 内存管理
        [_playsCountsLabel release];
        
        
        // 创建最后更新时间
        self.updatedAtLabel = [[UILabel alloc] init];
        // 最后更新时间的背景颜色
        //self.updatedAtLabel.backgroundColor = [UIColor yellowColor];
        // 最后更新时间的字体设置
        self.updatedAtLabel.font = [UIFont fontWithName:nil size:12];
        // 加载视图到小背景的视图上
        [self.backImageView addSubview:self.updatedAtLabel];
        // 内存管理
        [_updatedAtLabel release];
        
    }
    
    return self;
}



- (void)setAlb:(Album *)album
{
    // 判断是否为同一对象
    if (_alb != album) {
        [_alb release];
        _alb = [album retain];
    }
    // 专辑标题赋值
    self.titleLabel.text = self.alb.title;
    // 不限行数
    self.titleLabel.numberOfLines = 0;
    // 自适应高度
    [self.titleLabel sizeToFit];
    
    
    
    // 播放次数
    NSString *playCount = @"播放次数: ";
    // 将NSNumber格式转换成NSString格式
    // 播放次数类型名为playTimes
    NSString *count = [NSString stringWithFormat:@"%.1f", [album.playTimes integerValue] / 10000.0];
    //NSLog(@"%@", counts);
    
    // 如果playTimes不为空,将文字和数据拼接起来并赋值
    self.playsCountsLabel.text = [[playCount stringByAppendingString:count] stringByAppendingString:@"万"];
   
    
    // 最后更新时间 -- 时间戳
    NSString *updated = @"最后更新 ";
    
    if (album.lastUptrackAt != nil) {
        NSLog(@"%@", album.lastUptrackAt);
        // 从1970年1月1日到现在的时间再除以1000 (因为album.lastUptrackAt是微秒), 得到秒数
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:([album.lastUptrackAt longLongValue] / 1000)];
        //NSLog(@"%@", date);
        // 在NSDate 和 NSString 之间相互转换的格式
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        // 设置一个日期格式,让字符串能按照设定的格式转为相应的日期
        [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
        // 将时间转换为字符串
        NSString *strDate = [formatter stringFromDate:date];
        [formatter release];
        //NSLog(@"****%@", strDate);
        // 将文字和数据拼接起来
        // 将时间赋值给cell的文本框 - 截取年-月-日
        self.updatedAtLabel.text = [updated stringByAppendingString:[strDate substringToIndex:10]];
    } else {
        // 从1970年1月1日到现在的时间再除以1000 (因为album.lastUptrackAt是微秒), 得到秒数
        NSDate *date = [NSDate dateWithTimeIntervalSince1970:([album.updatedAt longLongValue] / 1000)];
        // 在NSDate 和 NSString 之间相互转换的格式
        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
        // 设置一个日期格式,让字符串能按照设定的格式转为相应的日期
        [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
        // 将时间转换为字符串
        NSString *strDate = [formatter stringFromDate:date];
        [formatter release];
        //NSLog(@"%@", strDate);
        // 将文字和数据拼接起来
        // 将时间赋值给cell的文本框 - 截取年-月-日
        self.updatedAtLabel.text = [updated stringByAppendingString:[strDate substringToIndex:10]];
    }
    
    
    // 图片异步下载
    NSString *str = self.alb.coverLarge;
    // 将字符串转为URL格式
    NSURL *imageURL = [NSURL URLWithString:str];
    // 专辑封面图片赋值
    [self.albumCoverImageView setImageWithURL:imageURL];
    
}



- (void)layoutSubviews
{
    [super layoutSubviews];
    
    
    // 小背景的大小设置
    self.backImageView.frame = CGRectMake(5, 5, self.contentView.frame.size.width - 10, self.contentView.frame.size.height - 10);
    
    
    // 专辑封面图片大小设置
    self.albumCoverImageView.frame = CGRectMake(5, 5, 120, self.contentView.frame.size.height - 20);
    
    // 专辑标题大小设置
    self.titleLabel.frame = CGRectMake(140, 10, self.contentView.frame.size.width - 150, 80);
    
    // 播放次数大小设置
    self.playsCountsLabel.frame = CGRectMake(140, 95, self.contentView.frame.size.width - 150, 20);
    
    // 最后更新时间大小设置
    self.updatedAtLabel.frame = CGRectMake(140, 115, self.contentView.frame.size.width - 150, 20);
}




- (void)awakeFromNib {
    // Initialization code
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

@end
